home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Development / Source / curses / readme.1st < prev    next >
Text File  |  1994-06-01  |  3KB  |  91 lines

  1. This source code for curses was originally written and released by Larry
  2. Gensch.  I have modified it substantially both in order to make in run on the
  3. Macintosh and to include some additional functionality.  I have included
  4. Larry's original README file unmodified.  Following is some information about
  5. what is new to my release.  I'll apologize ahead of time that my
  6. documentation is not clearer and more organized.  I'm leaving the country for
  7. the summer in about a week, and when I get back I'm moving to Boston to go back
  8. to school during which time I hope to be doing little or no programming.  So
  9. its clear that I better post this stuff now or never.  I hope it is useful to
  10. somebody.  It should be clear from the above that I'm not in a position to
  11. support this code, though I have tested it fairly extensively.  I suspect that
  12. I will be reachable at the e-mail addresses I listed below for a while (though
  13. not June-August 1994), and I will be happy to try to answer questions that
  14. anyone has.  If you find the code useful, I'd like to hear about that too.  You
  15. can also reach Larry Gensch on the internet at 'lar3ry@world.std.com'.
  16.  
  17. -Robert Zimmerman                        June 1, 1994
  18. * Internet: robert@master.uchicago.edu
  19. * CI$: 71233,1345
  20.  
  21. ------------------------------------------------------------
  22.  
  23. Notes about update by Robert Zimmerman:
  24.  
  25. General
  26.  
  27.     Ported to Macintosh (Think C) and 32-bit Dos (using Watcom's DOS/3GW 32-bit
  28.     linear executable format).  Added support for pads and subwindows.
  29.  
  30. New files
  31.  
  32.     v_doscur.c    (was v_msdos.c)
  33.     v_maccur.c    Macintosh-specific code.
  34.     v_maccur.r    Basic resources used by Macintosh curses.
  35.     macurses.h    Macintosh specific header.
  36.     readme.mac    Macintosh specific implementation notes.
  37.  
  38. Extensions
  39.  
  40.     My main extension to the library are pads and sub-windows (and sub-pads).
  41.     I also implemented getstr and scanw.
  42.  
  43.     List of new functions:
  44.     
  45.     prefresh
  46.     pnoutrefresh
  47.     subwin
  48.     newpad
  49.     subpad
  50.     pechochar
  51.     copywin
  52.     overwrite
  53.     overlay
  54.     ungetch
  55.     wgetstr
  56.     scanw
  57.     mvscanw
  58.     wscanw
  59.     mvwscanw
  60.     vwscanw
  61.  
  62.     I added the following members to the WINDOW structure:
  63.  
  64.     short    _pmap_orgy, _pmap_orgx;    /* Upper left corner of most recent prefresh on pad. */
  65.     short    _pmap_maxy, _pmap_maxx;    /* Max x/y of most recent prefresh on pad. */
  66.     short    _xdim;                    /* Value to add to chtype pointer to move down a row. */
  67.  
  68. Changes to machine specific code
  69.  
  70.     I changed to name of the MSDOS specific source file to v_doscur.c, since
  71.     v_msdos seemed a bit too generic (no way to tell it had anything to do
  72.     with curses).  The screen redrawing routine had to be rewritten somewhat
  73.     to take account of the needs of pads and sub-windows.
  74.  
  75.     In order to make it easier to support multiple machine implementations,
  76.     I used the following macros to point to the machine-specific functions:
  77.  
  78.     CURS_INIT_FN
  79.     CURS_REFRESH_FN
  80.     CURS_END_FN
  81.     CURS_BEEP_FN
  82.     CURS_KBINP_FN
  83.     CURS_FLUSHINP_FN
  84.  
  85.     The final macro on this list (CURS_FLUSHINP_FN) is optional.  If it is
  86.     defined, the function refered to is called by flushinp to flush typeahead
  87.     characters not yet buffered by wgetch.
  88.  
  89.     There is some code to support interactions with the system under Watcom's
  90.     DOS/3GW 32-bit linear executable format.
  91.